<!doctype html>
<html>
    <head>
        <meta charset="UTF-8" />
        <title>Phaser Tutorial 01 - Getting Started</title>
        <script src="build/phaser.js" type="text/javascript"></script>
        <style>
            body {
                font-family: Arial;
                font-size: 14px;
            }
        </style>
    </head>
    <body>

        <h1>Comenzando con Phaser</h1>

        <ul>
            <li><a href="index.html">Parte 1: Introducción</a></li>
            <li><a href="part2.html">Parte 2: Instalando un nuevo servidor web</a></li>
            <li><a href="part3.html">Parte 3: Ejecutar en la nube</a></li>
            <li><a href="part4.html">Parte 4: Escogiendo un editor</a></li>
            <li><a href="part5.html">Parte 5: Descargando Phaser</a></li>
            <li><a href="part6.html">Parte 6: Hola Mundo!</a></li>
            <li><a href="part7.html">Parte 7: Los ejemplos de Phaser</a></li>
            <li><a href="part8.html">Parte 8: Siguientes pasos</a></li>
        </ul>


        <h2>Parte 1 - Introducción</h2>
        
        <p>En este tutorial vamos a ver cómo configurar un entorno de desarrollo con el que puedas construir tus juegos en Phaser. Esto incluirá el arrancar un servidor web local, escoger un IDE (un programa para gestionar y escribir el código), obtener la última versión de Phaser y comprobar que todo funciona adecuadamente.
        </p>
        
        <p> <strong>"¿Por qué necesito un servidor web local? ¿No puedo simplemente arrastrar los ficheros html a mi navegador?"</strong> </p>

        <p>No, hoy en día, no. Entiendo que pueda ser un poco confuso, incluso contradictorio a veces, pero todo es por cuestión de la seguridad del navegador. Si estás haciendo una web html estática, quizás con algunas imágenes en ella, entonces sí puedes arrastrar felizmente ese fichero a tu navegador y ver el resultado final. También puedes "Guardar como" páginas web enteras y reabrirlas, con todo el contenido prácticamente intacto. Si ambas cosas funcionan, ¿por qué no puedes arrastrar un juego HTML5 en un navegador y ejecutarlo?
        </p>
        
        <p>Tiene que ver con el protocolo que se usa para acceder a los archivos. Cuando solicitas algo por internet estás usando http, y el nivel de seguridad del servidor es suficiente para asegurarse de que solo puedes acceder a los ficheros que se supone que debes acceder. Pero cuando arrastras un fichero en un navegador se accede por medio del sistema de ficheros local (técnicamente, el protocolo file://) y esto está muy restringido, por razones obvias. Bajo file:// no hay concepto de dominios, no hay seguridad a nivel de servidor, solo un sistema de ficheros a pelo. Pregúntate esto: ¿de verdad quieres que JavaScript tenga la habilidad de abrir ficheros de todo tu sistema de archivos local? Tu respuesta inmediata por supuesto debería ser: "¡ni de coña!". Si un script en JavaScript tuviera total libertad para trabajar en file:// no habría nada que le impidiese abrir prácticamente <em>cualquier</em> fichero que quisiera y enviarlo sabe Dios dónde.</p>

        <p>Dado que esto es tan peligroso, los navegadores se blindan más fuerte que Alcatraz cuando se ejecutan en file://. Cada página es tratada como un dominio local único. Por eso "Guardar página web" funciona, hasta cierto punto. Se abre bajo las mismas restricciones cross-site (a través de varios servidores) que si estuvieran en un servidor online. Hay un post más detallado sobre esto en el <a href="http://blog.chromium.org/2008/12/security-in-depth-local-web-pages.html">Chromium blog</a> que bien merece una lectura (en inglés).</p>

        <p>Tu juego va a necesitar cargar recursos. Imágenes, ficheros de audio, datos JSON, quizás más ficheros JavaScript. Para hacer esto necesita que se ejecute libre de los grilletes de la seguridad del navegador. Necesita que http:// acceda a los ficheros del juego. Y para esto necesitamos un servidor web.</p>

        <p><a href="part2.html">Parte 2: Instalando un nuevo servidor web</a></p>

    </body>
</html>